package horncomb.bpm.process.core;

import java.util.List;


/**
 * @author Daniel
 */
public interface LeavableState extends StateDefinition {

	/**
	 * @param transitionId
	 * @param context
	 */
	public void leave(ExecutionContext context);

	public boolean checkBeforeLeaving(ExecutionContext context);

	public boolean hasLeavingTransitions();

	/**
	 * {@inheritDoc}
	 */
	public List<Transition> getLeavingTransitions();
}